package com.chaopei.design_model.create;

/**
 * @author adai
 * @date 2019年8月29日
 */
public class RoseTwo {//1.2单例模式,懒汉模式
	// 单例模式之懒汉模式,延迟创建
	// 不管声明多少个对象,最后都指向同一个空间
	private static RoseTwo instance;

	// 不允计从外部new对象
	private RoseTwo() {
	}

	// 判断后再创建对象,懒汉模式
	public static RoseTwo getInstance() {
		// 两层if判断确保对象已存在就不创建,没有
		// 才创建
		if (instance == null) {
			// 加同步锁
			synchronized (RoseTwo.class) {
				if (instance == null) {
					instance = new RoseTwo();
				} // if1
			}
		} // if2
		return instance;
	}

	// 检验单例
	int sum = 0;

	// 写一个方法,检验一下
	public int sum(int n) {

		for (int i = 0; i < n; i++) {
			sum += n;
		}
		return sum;
	}

	public int getSum() {
		return sum;
	}
}
